home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / source / Library / ANSI.mod < prev    next >
Text File  |  1995-05-23  |  4KB  |  176 lines

  1. <* STANDARD- *>
  2.  
  3. MODULE  ANSI;
  4.  
  5. IMPORT  Dos, (*ASCII,*) IO := BufIO;
  6.  
  7.  
  8. VAR     ansi *: BOOLEAN;
  9.  
  10.  
  11. (* Flash the display - do an Intuition.DisplayBeep () *)
  12. PROCEDURE Bell* (fh: Dos.FileHandlePtr);
  13. BEGIN   IF ansi THEN
  14.                 IO.WriteStr (fh, "\x07")
  15.         END
  16. END Bell;
  17.  
  18.  
  19. (* Move left one column *)
  20. PROCEDURE Backspace* (fh: Dos.FileHandlePtr);
  21. BEGIN   IF ansi THEN
  22.                 IO.WriteStr (fh, "\x08")
  23.         END
  24. END Backspace;
  25.  
  26.  
  27. (* Move right one tab stop *)
  28. PROCEDURE HorizontalTab* (fh: Dos.FileHandlePtr);
  29. BEGIN   IF ansi THEN
  30.                 IO.WriteStr (fh, "\x09")
  31.         END
  32. END HorizontalTab;
  33.  
  34.  
  35. (* Move down one text line as specified by the mode fuction *)
  36. PROCEDURE LineFeed* (fh: Dos.FileHandlePtr);
  37. BEGIN   IF ansi THEN
  38.                 IO.WriteStr (fh, "\x0A")
  39.         END
  40. END LineFeed;
  41.  
  42.  
  43. (* Move up one text line *)
  44. PROCEDURE VerticalTab* (fh: Dos.FileHandlePtr);
  45. BEGIN   IF ansi THEN
  46.                 IO.WriteStr (fh, "\x0B")
  47.         END
  48. END VerticalTab;
  49.  
  50.  
  51. (* Clear the console's window *)
  52. PROCEDURE FormFeed* (fh: Dos.FileHandlePtr);
  53. BEGIN   IF ansi THEN
  54.                 IO.WriteStr (fh, "\x0C")
  55.         END
  56. END FormFeed;
  57.  
  58.  
  59. (* Move to first column *)
  60. PROCEDURE CarriageReturn* (fh: Dos.FileHandlePtr);
  61. BEGIN   IF ansi THEN
  62.                 IO.WriteStr (fh, "\x0D")
  63.         END
  64. END CarriageReturn;
  65.  
  66.  
  67. (*
  68. PROCEDURE (fh: Dos.FileHandlePtr);
  69. BEGIN   IO.WriteStr (fh, "\x9B" "")
  70. END ;
  71.  
  72.  
  73. PROCEDURE (fh: Dos.FileHandlePtr);
  74. BEGIN   IO.WriteStr (fh, "\x9B" "")
  75. END ;
  76.  
  77.  
  78. PROCEDURE (fh: Dos.FileHandlePtr);
  79. BEGIN   IO.WriteStr (fh, "\x9B" "")
  80. END ;
  81.  
  82.  
  83. PROCEDURE (fh: Dos.FileHandlePtr);
  84. BEGIN   IO.WriteStr (fh, "\x9B" "")
  85. END ;
  86. *)
  87.  
  88.  
  89. PROCEDURE PlainText* (fh: Dos.FileHandlePtr);
  90. BEGIN   IF ansi THEN IO.WriteStr (fh, "\x9B" "0m") END
  91. END PlainText;
  92.  
  93.  
  94. PROCEDURE BoldfaceText* (fh: Dos.FileHandlePtr; faint, on: BOOLEAN);
  95. BEGIN   IF ansi THEN
  96.                 IF on THEN
  97.                         IO.WriteStr (fh, "\x9B" "1m")
  98.                 ELSE
  99.                         IO.WriteStr (fh, "\x9B" "22m")
  100.                 END;
  101.                 IF faint THEN
  102.                         IO.WriteStr (fh, "\x9B" "2m")
  103.                 END
  104.         END
  105. END BoldfaceText;
  106.  
  107.  
  108. PROCEDURE ItalicText* (fh: Dos.FileHandlePtr; on: BOOLEAN);
  109. BEGIN   IF ansi THEN
  110.                 IF on THEN
  111.                         IO.WriteStr (fh, "\x9B" "3m")
  112.                 ELSE
  113.                         IO.WriteStr (fh, "\x9B" "23m")
  114.                 END
  115.         END
  116. END ItalicText;
  117.  
  118.  
  119. PROCEDURE UnderscoreText* (fh: Dos.FileHandlePtr; on: BOOLEAN);
  120. BEGIN   IF ansi THEN
  121.                 IF on THEN
  122.                         IO.WriteStr (fh, "\x9B" "4m")
  123.                 ELSE
  124.                         IO.WriteStr (fh, "\x9B" "24m")
  125.                 END
  126.         END
  127. END UnderscoreText;
  128.  
  129.  
  130. PROCEDURE ReversedText* (fh: Dos.FileHandlePtr; on: BOOLEAN);
  131. BEGIN   IF ansi THEN
  132.                 IF on THEN
  133.                         IO.WriteStr (fh, "\x9B" "7m")
  134.                 ELSE
  135.                         IO.WriteStr (fh, "\x9B" "27m")
  136.                 END
  137.         END
  138. END ReversedText;
  139.  
  140.  
  141. PROCEDURE ConcealedText* (fh: Dos.FileHandlePtr; on: BOOLEAN);
  142. BEGIN   IF ansi THEN
  143.                 IF on THEN
  144.                         IO.WriteStr (fh, "\x9B" "8m")
  145.                 ELSE
  146.                         IO.WriteStr (fh, "\x9B" "28m")
  147.                 END
  148.         END
  149. END ConcealedText;
  150.  
  151.  
  152. PROCEDURE CharacterColour* (fh: Dos.FileHandlePtr; colour: LONGINT);
  153. BEGIN   IF ansi & (0 <= colour) & (colour <= 7) THEN
  154.                 IO.WriteF1 (fh, "\x9B" "3%ldm", colour)
  155.         END
  156. END CharacterColour;
  157.  
  158.  
  159. PROCEDURE CharacterCellColour* (fh: Dos.FileHandlePtr; colour: LONGINT);
  160. BEGIN   IF ansi & (0 <= colour) & (colour <= 7) THEN
  161.                 IO.WriteF1 (fh, "\x9B" "4%ldm", colour)
  162.         END
  163. END CharacterCellColour;
  164.  
  165.  
  166. PROCEDURE BackgroundColour* (fh: Dos.FileHandlePtr; colour: LONGINT);
  167. BEGIN   IF ansi & (0 <= colour) & (colour <= 7) THEN
  168.                 IO.WriteF1 (fh, "\x9B" ">%ldm", colour)
  169.         END
  170. END BackgroundColour;
  171.  
  172.  
  173. BEGIN   ansi := TRUE
  174. END ANSI.
  175.  
  176.